package cn.iocoder.yudao.module.promotion.linkage21.pojo.vo;

import cn.iocoder.yudao.framework.business.basic.annotation.AdminJsonView;
import cn.iocoder.yudao.framework.business.basic.annotation.AppJsonView;
import cn.iocoder.yudao.framework.business.basic.pojo.vo.MemberScopeVO;
import com.fasterxml.jackson.annotation.JsonView;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * 视图对象
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/04/12
 */
@Data
public class Linkage21RecordVO extends MemberScopeVO {

    @Schema(description = "交易单号")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private String tradeNo;

    @Schema(description = "分佣类型：1-直推奖、2-见点奖、3-平级奖")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Byte bonusType;

    @Schema(description = "分佣比例，0-100之间的数字")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Double bonusPercent;

    @Schema(description = "获得佣金，单位为分")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Integer bonusMoney;

    @Schema(description = "来源用户编号")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Long sourceUserId;

    @Schema(description = "分佣基准金额，单位为分")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Integer basePrice;

    @Schema(description = "状态：0-待入账、1-已结算、2-已失效、3-已取消")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private Byte status;

    @Schema(description = "解冻时间")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private LocalDateTime unfreezeTime;

    @Schema(description = "取消时间")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private LocalDateTime cancelTime;

    @Schema(description = "备注")
    @JsonView({AdminJsonView.class, AppJsonView.class})
    private String note;

}
